package com.zhaokuner.pm.model.enumeration;

/**
 * 类描述:枚举共有方法
 *
 * @author 赵希坤 zhaoxikun
 * @date 2020/8/23 16:29
 */
public interface SuperEnum {
    /**
     * 获取枚举的code
     *
     * @return int 值
     */
    int getCode();

    /**
     * 获取枚举的说明
     *
     * @return 枚举说明
     */
    String getMsg();

    /**
     * 对比是否是同一个枚举
     *
     * @param i
     * @return 是否
     */
    default boolean is(Integer i) {
        return null == i ? false : getCode() == i.intValue();
    }

    /**
     * 对比是否是同一个枚举
     *
     * @param i
     * @return 是否
     */
    default boolean is(String i) {
        Integer ii = null;
        if (null != i && !"".equals(i)) {
            try {
                ii = Integer.valueOf(i);
            } catch (Exception e) {
                return false;
            }
        }
        return null == ii ? false : getCode() == ii.intValue();
    }
}
